home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / listings / v_11_03 / 1103088a < prev    next >
Text File  |  1993-01-04  |  644b  |  21 lines

  1.      #define NUMVAL(x)    (x - '0')  
  2.      #define TONUM(x)    NUMVAL(x)  
  3.      #define TODIGIT(x)    (x + '0')  
  4.      static char trconst[] = {'3', '7', '1', '3', 
  5.                '7', '1', '3', '7'};     
  6.      char calc_check_digit (char * trnum)      
  7.           {
  8.           int sum, val;      
  9.           int i;         
  10.           for ( sum = i = 0 ; i < 8 ; i++)          
  11.                {
  12.                sum += TONUM (trnum[i]) * TONUM (trconst[i]);
  13.                }
  14.           val = 10 - (sum % 10);      
  15.           if (val == 10)          
  16.                val = 0;  
  17.           return (TODIGIT (val));      
  18.           }
  19.  
  20.  
  21.